Systems and Methods for Enhancing Object Visibility for Overhead Imaging

ABSTRACT

Systems and methods are provided for enhancing object feature visibility for overhead imaging. In one embodiment, a computing system can obtain information associated with one or more locations of an imaging platform and one or more locations of a solar source. The system can determine one or more positional ranges of the imaging platform relative to the solar source based, at least in part, on such information. The positional ranges can be indicative of positions at which the imaging platform is to obtain image frames depicting at least a portion of a target object. The system can send, to the imaging platform, a set of data indicative of the positional ranges and can receive, from the imaging platform, a set of data indicative of the image frames depicting at least a portion of the target object. The image frames being captured based, at least in part, on the positional ranges.

FIELD

The present disclosure relates generally to generating images, and moreparticularly to systems and methods for enhancing object featurevisibility for overhead imaging.

BACKGROUND

Scenes captured, for instance, from overhead imaging platforms caninclude various objects or items. However, details in one region of thescene can be obscured in a shadow, and items of relatively similar colorcan blend together. Moreover, high light areas of the scene may besaturated, or the low light areas may be too noisy, or both.Accordingly, it can be difficult to distinguish certain details fromtheir surroundings in an image captured from an overhead imagingplatform. While higher resolution platforms can be used, they can alsoincrease overall system costs.

SUMMARY

Aspects and advantages of the present disclosure will be set forth inpart in the following description, or can be obvious from thedescription, or can be learned through practice of embodiments of thepresent disclosure.

One example aspect of the present disclosure is directed to a computingsystem for enhancing object feature visibility for overhead imaging. Thecomputing system includes one or more processors and one or more memorydevices. The one or more memory devices can store computer-readableinstructions that when executed by the one or more processors cause theone or more processors to perform operations. The operations can includeobtaining a first set of information associated with one or morelocations of an imaging platform. The operations can further includeobtaining a second set of information associated with one or morelocations of a solar source. The operations can include determining oneor more positional ranges of the imaging platform relative to the solarsource based at least in part on the first and second sets ofinformation. The one or more positional ranges can be indicative of oneor more positions at which the imaging platform is to obtain one or moreimage frames depicting at least a portion of a target object. The one ormore positional ranges can be associated with one or more positions ofthe solar source at which radiation from the solar source causes ahigher level of reflectance with the target object than with asurrounding of the target object by creating a specular reflection. Theoperations can further include sending, to the imaging platform, a firstset of data indicative of the one or more positional ranges. The imagingplatform can be configured to obtain a second set of data indicative ofthe one or more image frames depicting at least a portion of the targetobject based at least in part on the one or more positional ranges. Theoperations can include receiving, from the imaging platform, a third setof data indicative of one or more of the image frames depicting at leasta portion of the target object. The one or more image frames werecaptured based at least in part on the one or more positional ranges.

Another example aspect of the present disclosure is directed to acomputer-implemented method of enhancing object feature visibility foroverhead imaging. The method can include obtaining, by one or morecomputing devices, a first set of information associated with one ormore locations of an imaging platform and a second set of informationassociated with one or more locations of a solar source. The method canfurther include determining, by the one or more computing devices, oneor more positional ranges of the imaging platform relative to the solarsource based, at least in part, on the first and second sets ofinformation. The one or more positional ranges can be indicative of oneor more positions at which the imaging platform is to obtain dataindicative of one or more image frames depicting at least a portion of atarget object. The method can include sending, to the imaging platform,a first set of data that is indicative of the one or more positionalranges such that the imaging platform can obtain a second set of dataindicative of a plurality of image frames when the imaging platform iswithin the one or more positional ranges. The method can includereceiving, from the imaging platform, a third set of data indicative ofone or more of the image frames depicting at least a portion of thetarget object. The one or more image frames were captured based at leastin part on the one or more positional ranges.

Yet another example aspect of the present disclosure is directed to animaging platform. The imaging platform can include one or moreprocessors and one or more memory devices. The one or more memorydevices can store computer-readable instructions that when executed bythe one or more processors cause the one or more processors to performoperations. The operations can include receiving a first set of dataindicative of one or more image capture conditions. The one or moreimage capture conditions can be indicative of one or more positionalranges of the imaging platform relative to a solar source. The one ormore positional ranges can be associated with one or more positions ofthe solar source at which radiation from the solar source causes ahigher level of reflectance with the target object than with at leastone other portion of a region of interest that includes the targetobject by creating a specular reflection. The operations can furtherinclude determining whether a position of the imaging platform is withinthe one or more positional ranges. The operations can include obtaininga second set of data indicative of a plurality of image frames when theimaging platform is within the one or more positional ranges. Each imageframe can depict at least a portion of the region of interest, and oneor more of the image frames can depict at least a portion of the targetobject in the region of interest. The operations can further includesending, to one or more computing devices, a third set of dataindicative of at least the one or more image frames that depict at leasta portion of the target object.

Other example aspects of the present disclosure are directed to systems,apparatuses, tangible, non-transitory computer-readable media, memorydevices, and electronic devices for enhancing object feature visibilityfor overhead imaging.

These and other features, aspects and advantages of various embodimentswill become better understood with reference to the followingdescription and appended claims. The accompanying drawings, which areincorporated in and constitute a part of this specification, illustrateembodiments of the present disclosure and, together with thedescription, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

A full and enabling description of the present disclosure, directed toone of ordinary skill in the art, is set forth in the specification,which makes reference to the appended figures, in which:

FIG. 1 depicts an example system for enhancing object feature visibilityfor overhead imaging according to example embodiments of the presentdisclosure;

FIG. 2 illustrates an example schematic of an imaging platform elevationangle relative to a target and a solar source according to exampleembodiments of the present disclosure;

FIG. 3 illustrates an example schematic of an imaging platform azimuthangle relative to a target and a solar source according to exampleembodiments of the present disclosure;

FIG. 4 depicts an example imaging platform according to exampleembodiments of the present disclosure;

FIGS. 5-6 depict example imaging sensor configurations according toexample embodiments of the present disclosure;

FIG. 7 depicts an example image acquisition sequence according toexample embodiments of the present disclosure;

FIG. 8 depicts a flow diagram of an example method of enhancing objectfeature visibility for overhead imaging according to example embodimentsof the present disclosure; and

FIG. 9 depicts an example system according to example embodiments of thepresent disclosure.

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments of the presentdisclosure, one or more examples of which are illustrated in thedrawings. Each example is provided by way of explanation of the presentdisclosure, not limitation of the present disclosure. In fact, it willbe apparent to those skilled in the art that various modifications andvariations can be made to the present disclosure without departing fromthe scope or spirit of the disclosure. For instance, featuresillustrated or described as part of one embodiment can be used withanother embodiment to yield a still further embodiment. Thus, it isintended that the present disclosure covers such modifications andvariations as come within the scope of the appended claims and theirequivalents.

Example aspects of the present disclosure are directed to enhancingobject feature visibility for overhead imaging. For instance, a groundbased computing system (e.g., associated with a control center) candetermine one or more image capture condition(s) for an imaging platform(e.g., included on a satellite). The image capture condition(s) caninclude one or more constraint(s) for the imaging platform to followwhile collecting an image. For example, the image capture condition(s)can specify a range of elevation angles and/or a range of azimuth anglesat which the imaging platform should obtain image frames of a targetobject (e.g., a black automobile). The elevation and azimuth ranges canbe associated with the positions of the imaging platform, relative tothe sun, at which the target object experiences a specular reflection(e.g., a mirror-like reflection due to the incidence angle of the sun'sradiation and/or the position of the imaging platform). The specularreflection can be associated with a higher level of reflectance thanassociated with the surroundings of the target object. The computingsystem can send, to the imaging platform, a first set of data indicativeof the positional ranges. Using this data, the imaging platform candetermine when its elevation angle and azimuth angles are within thepositional ranges and obtain a plurality of image frames including thetarget object, which may experience a specular reflection (while itssurroundings may not experience such a specular reflection). The imagingplatform can send the image frames to the ground based computing system,which can coordinate the processing of the image frames to create animage of the target object.

By creating an image of the target object with a specular reflection, auser of a computing system and/or an image processing system usingmachine learning techniques can better distinguish the target object(e.g., a black automobile) from a similar surrounding (e.g., an asphaltparking lot). For instance, the specular reflection (and the specularangles) can create a 20,000% difference (e.g., in reflectance) betweenthe target object and its surroundings. This can be beneficial, forexample, to more accurately determine the number of automobiles in aparking lot.

More specifically, a ground-based computing system can be configured tocreate one or more image capture condition(s) for capturing an image ofa target object. The target object can include, for example, anautomobile, a pile of coal, and/or other objects with which a specularreflection can be created (e.g., due to a glossy surface). The imagecapture condition(s) can include one or more factor(s) (e.g., if/thenstatements) that must be met by the imaging platform while it obtains aplurality of image frames. For instance, the image capture condition(s)can include location information (e.g., geographic coordinates)associated with a region of interest and/or the target object. Theimaging platform can use the location information to adjust its sensorsin a particular direction such that it can obtain a plurality of imageframes of the region of interest. Some of the image frames can include,at least a portion of, the target object. By way of example, the imagingplatform can use the location information associated with an asphaltparking lot to adjust its sensors such that it can capture image framesof the parking lot as well as a target automobile within the parkinglot.

Additionally, and/or alternatively, the image capture condition(s) caninclude one or more positional range(s) of the imaging platform relativeto a solar source (e.g., the sun, a star, a reflective moon). Thecomputing system can obtain information indicative of one or morelocation(s) of the imaging platform and information indicative of one ormore location(s) of the solar source. Based on this information, thecomputing system can determine when the target object will experience aspecular reflection for the purposes of imaging. For instance, thetarget object can experience a specular reflection when the imagingplatform is at certain elevation angles and certain azimuth anglesrelative to the solar source, due to the angle of incidence andreflection of the solar source's radiation. In some implementations, thetarget object may experience a specular reflection when the elevationangle of the imaging platform is within +/−5 degrees of the elevationangle of the solar source and when the azimuth angle of the imagingplatform is within +/−165 to 195 degrees of the azimuth angle of thesolar source, as further described herein. The computing system can senda first set of data indicative of the one or more image capturecondition(s) (including the positional range(s)) to the imagingplatform.

The imaging platform can receive the first set of data from thecomputing system. For instance, the imaging platform can be an overheadimaging platform, such as a satellite, an airplane, a helicopter, anunmanned aerial vehicle (UAV), a drone, a balloon, etc. The imagingplatform can travel at a height above a region of interest that containsthe target object. By way of example, in the event that the imagingplatform is included on a satellite orbiting the earth (e.g., above aparking lot), the imaging platform can receive the first set of dataindicative of the one or more image capture condition(s) (including thepositional range(s)) from one or more ground station(s) distributedglobally.

The imaging platform can determine whether it is within the positionalrange(s) specified by the image capture condition(s). For instance, insome implementations, the imaging platform can include a navigationsystem (e.g., a global positioning system) to determine its location.Using the navigation system, the imaging platform can determine whetherits elevation angle is within the specified range of elevation angles(e.g., +/−5 degrees relative to the elevation angle of the solar source)and/or whether its azimuth angle is within the specified range ofazimuth angles (e.g., +/−165 to 195 degrees relative to the azimuthangle of the solar source). If so, the imaging platform can be locatedat a position at which the target object (e.g., a black automobile) mayexperience a specular reflection, while its surroundings may notexperience such a specular reflection, due to the solar source'sradiation interacting with the target object (e.g., its shiny,reflective surface).

In some implementations, the imaging platform can determine its positionbased on time. For instance, the computing system can determine (e.g.,based on Two Line Elements, publically available data) a time range inwhich the imaging platform will be within the positional range(s). Theimage capture condition(s), sent to the imaging platform, can includethis time range. Using a clock device, the imaging platform candetermine when it is within the specified elevation angle and azimuthangle ranges based, at least in part, on a comparison of a current timeto the time range.

The imaging platform can obtain a set of data indicative of a pluralityof image frames when the position of the imaging platform is within thespecified positional range(s) (e.g., when the target object experiencesa specular reflection). One or more of the image frame(s) can depict, atleast a portion of, the target object. For example, when the imagingplatform is at an elevation angle that is within +/−5 degrees of theelevation angle of the solar source and the imaging platform is at anazimuth angle that is within +/−165 to 195 degrees of the azimuth angleof the solar source, the imaging platform can obtain the image frame(s)depicting, at least a portion of, a black automobile.

The imaging platform can send the data indicative of the image frame(s)to the computing system. The computing system can be configured toreceive the image frame(s) and coordinate the processing of the imagedata. For example, the computing system can send the data indicative ofthe image frame(s) that depict, at least a portion of, a blackautomobile for processing by another computing system. Processingtechniques can include mosaicing the image frame(s) together toreconstruct an image of an asphalt parking lot that includes the blackautomobile. The automobile can then be distinguished from itssurroundings by an image processing computing system (e.g., via machinelearning techniques) or a user of a computing system (e.g., viacrowdsourcing techniques) based, at least in part, on the specularreflection of the automobile relative to its surroundings.

In accordance with the above, and as will be further described below,the apparatuses, systems, and methods of the present disclosure provideenhanced feature visibility for a target object of an overhead imagingsystem. More specifically, the systems and methods of the presentdisclosure can improve optical difference by obtaining images of targetobjects while they experience a specular reflection. Accordingly, thetarget objects can be more efficiently and reliably distinguished fromtheir surroundings during post-reconstruction processing. In this way,the systems and methods of the present disclosure can help facilitatethe identification of target objects in images, such as low dynamicrange images by widening the limited range. Moreover, this can provide afundamental improvement in the signal quality of images being analyzed,while reducing the need for expensive, higher resolution imagingplatforms.

With reference now to the figures, example aspects of the presentdisclosure will be discussed in greater detail. FIG. 1 depicts anexample system 100 for enhancing object feature visibility for overheadimaging according to example embodiments of the present disclosure. Asshown, system 100 can include a target object 101, an imaging platform102, a solar source 103, and a computing system 104. Imaging platform102 and computing system 104 can be configured to communicate with oneanother. For example, imaging platform 102 and computing system 104 canbe configured to communicate using radio frequency transmission signals.

Target object 101 can be included within a region of interest 105.Region of interest 105 can be an area within the earth's atmosphere,such as on the earth's surface. Region of interest 105 can be, forinstance, a parking lot, a port, a quarry, and/or other areas on theearth's surface. Target object 101 can be an object for which imagingplatform 102 can be configured to target for one or more image frame(s).Target object 101 can include, for instance, at least one of anautomobile, a pile of coal, and/or other object's located in region ofinterest 105. Target object 101 can include a glossy reflective surface.One or more image(s) of target object 101 can be used to estimate astate associated with region of interest 105 and/or target object 101.For example, the image(s) of target object 101 can be used to determinethe number of automobiles in a parking lot, the depth of a coal pile,etc.

Imaging platform 102 can be configured to travel overhead region ofinterest 105 to acquire images. For instance, imaging platform 102 canbe associated with a satellite, an aircraft, a helicopter, an unmannedaerial vehicle (UAV), a drone, a balloon, etc. Imaging platform 102 caninclude one or more computing device(s) 106. Computing device(s) 106 caninclude one or more processor(s) and one or more memory device(s). Thememory device(s) can be configured to store instructions that whenexecuted by the processor(s), cause imaging platform 102 to performoperations, such as those for enhancing the visibility of target object101 for overhead imaging, as further described herein.

Imaging platform 102 can be configured to travel in a path over regionof interest 105 called a track. The path can include one or morestraight lines or segments or can be a curved path. In the event thatimaging platform 102 is associated with a satellite, the path cancorrespond to, at least a portion of, the orbit of the satellite.Imaging platform 102 can be flown at a height over region of interest105. As further described herein with reference to FIGS. 4-7, imagingplatform 102 can be configured to obtain a plurality of image samples orframes during the travel of the platform along the path. In someimplementations, the image frames can be captured in a continuous, rapidsuccession. The image frames can then be assembled into an output imageon the ground via digital processing, as further described herein.

Solar source 103 can be associated with a light source that can projectlight onto and/or in the vicinity of target object 101 and/or region ofinterest 105. In some implementations, solar source 103 can be a naturalsource (e.g., celestial body) that projects electromagnetic radiation(e.g., light) onto target object 101 and/or region of interest 105. Forinstance, solar source 103 can include the sun, a star, a reflectivemoon, etc. In some implementations, solar source 103 can include aman-made light source that is situated above target object 101 and/orregion of interest 105 and oriented to project light onto target object101 and/or region of interest 105.

Computing system 104 can be associated with a ground-based computingsystem. For instance, computing system 104 can be associated with acontrol center that is responsible for monitoring and controllingimaging platform 102 (e.g., via command signals). Computing system 104can include one or more computing device(s) 107. Computing device(s) 107can include one or more processor(s) and one or more memory device(s).The memory device(s) can be configured to store instructions that whenexecuted by the processor(s), cause computing device(s) 107 to performoperations, such as those for enhancing the visibility of target object101 for overhead imaging, as further described herein (e.g., method800).

Computing device(s) 107 can be configured to obtain information aboutthe locations of imaging platform 102 and/or solar source 103. Forinstance, computing device(s) 107 can be configured to obtain a firstset of information 110 associated with one or more location(s) ofimaging platform 102 and/or a second set of information 111 associatedwith one or more location(s) of solar source 103. In someimplementations, the first and second sets of information 110, 111 caninclude data associated with global position systems, speed, orbit, etc.Computing device(s) 107 can be configured to obtain the first and/orsecond sets of information 110, 111 from one or more remote database(s)108. In some implementations, remote database(s) 108 can be privatelyavailable, publically available (e.g., a database associated with asatellite tracking website), and/or associated with a governmentalagency (e.g., National Oceanic and Atmospheric Administration, NationalAeronautics and Space Administration).

Computing device(s) 107 can be configured to determine the travel pathsof imaging platform 102 and/or solar source 103. For instance, computingdevice(s) 107 can be configured to use a two-line element set (TLE)(e.g., associated with the first and second sets of information 110,111) to determine past and future points on the travel paths (e.g.,orbital paths) of imaging platform 102 and/or solar source 103. In someimplementations, computing device(s) 107 can update the travel paths ofimaging platform 102 and/or solar source 103 stored in its memorydevice(s) to match the TLEs periodically (e.g., once, twice, three timesper day). In this way, computing device(s) 107 can accurately determinethe locations of imaging platform 102 and/or solar source 103 (e.g.,latitude, longitude, elevation, elevation angle, azimuth angle)throughout a day.

Computing device(s) 107 can be configured to determine one or more imagecapture condition(s) for capturing an image of target object 101. Imagecapture condition(s) can include one or more factor(s) for imagingplatform 102 to follow while imaging platform 102 obtains a plurality ofimage frames. For instance, the image capture condition(s) can includelocation information (e.g., coordinates) associated with region ofinterest 105 and/or target object 101. Imaging platform 102 can use thelocation information to adjust its sensors such that it can obtain aplurality of image frames of region of interest 105, some of which caninclude, at least a portion of, target object 101. By way of example,imaging platform 102 can use the location information associated with anasphalt parking lot to adjust its sensors such that it can capture imageframes of the parking lot, as well as, image frames that include, atleast a portion of, a target automobile within the parking lot.

Additionally, and/or alternatively, image capture condition(s) caninclude one or more positional range(s) of imaging platform 102 relativeto solar source 103. Computing device(s) 107 can be configured todetermine one or more positional range(s) of imaging platform 102relative to solar source 103 based, at least in part, on the first andsecond sets of information 110, 111. The one or more positional range(s)can be indicative of one or more position(s) at which imaging platform102 is to obtain one or more image frame(s) depicting at least a portionof target object 101.

In some implementations, the positional range(s) can be associated withone or more position(s) of solar source 103 at which radiation (e.g.,light) from solar source 103 causes a specular reflection with targetobject 101, while a surrounding of target object 101 may not experiencesuch a level of specular reflection. For instance, target object 101 canexperience a specular reflection when imaging platform 102 is at certainelevation angles and/or certain azimuth angles relative to solar source103, due to the angle of incidence and angle of reflection of theradiation of solar source 103. In this way, computing device(s) 107 canrestrict image angles depending on the location of solar source 103, toinclude glint or glare associated with target objects 101.

FIG. 2 illustrates an example schematic 200 of the elevation angle ofimaging platform 102 relative to target object 101 and solar source 103according to example embodiments of the present disclosure. As shown,imaging platform 102 and solar source 103 can be oriented above regionof interest 105 and/or target object 101. Imaging platform 102 can belocated at an elevation angle 201 relative to a horizontal plane 202associated with region of interest 105 and/or target object 101. Solarsource 103 can be located at an elevation angle 203 relative tohorizontal plane 202 associated with region of interest 105 and/ortarget object 101.

Target object 101 can experience a specular reflection (while itssurroundings may not) when imaging platform 102 is within a firstpositional range 204. First range 204 can include one or more elevationangle(s) 201 of imaging platform 102 that are within a certain degree ofthe elevation angle 203 of solar source 103. The elevation angle(s) 201included in first range 204 can be associated with the angles ofincidence and/or reflection of the radiation of solar source 103 thatcause specular reflection with target object 101. For instance, targetobject 101 can experience a specular reflection when elevation angle 201of imaging platform 102 is substantially the same as elevation angle 203of solar source 103. In some implementations, first range 204 caninclude one or more elevation angle(s) of imaging platform 102 that arewithin +/−5 degrees of elevation angle 203 of solar source 103. By wayof example, in the event that elevation angle 203 of solar source 103 is45 degrees relative to horizontal plane 202, the first range 204 caninclude the elevation angles 201 of imaging platform 102 from 40 to 50degrees relative to horizontal plane 202.

FIG. 3 illustrates an example schematic 300 of the azimuth angle ofimaging platform 102 relative to target object 101 and solar source 103according to example embodiments of the present disclosure. As shown,imaging platform 102 and solar source 103 can be oriented within areference plane 301 that includes region of interest 105 and/or targetobject 101. Imaging platform 102 can be located at an azimuth angle 302relative to a reference vector 303 (e.g., within reference plane 301)associated with region of interest 105 and/or target object 101. Solarsource 103 can be located at an azimuth angle 304 relative to referencevector 303 associated with region of interest 105 and/or target object101.

Target object 101 can experience a specular reflection when imagingplatform 102 is within a second positional range 305. Second range 305can include one or more azimuth angle(s) 302 of imaging platform 102that are within a certain degree of azimuth angle 304 of solar source103. The azimuth angle(s) 302 included in second range 305 can beassociated with the angles of incidence and/or reflection of theradiation of solar source 103 that cause a specular reflection withtarget object 101 rather than at least one other portion of region ofinterest 105 (e.g., due to the lack of glossy, reflective surface ofthat portion). In some implementations, second range 305 can include oneor more azimuth angle(s) 302 of imaging platform 102 that are within+/−165 degrees to 195 degrees of azimuth angle 304 of solar source 103.Said differently, the azimuth angle 302 of imaging platform 102 can bewithin +/−15 degrees of 180 degrees of azimuth angle 304 of solar source103. By way of example, in the event that azimuth angle 304 of solarsource 103 is 135 degrees relative to reference vector 303 (e.g.,associated with compass North), second range 305 can include the azimuthangles 302 of imaging platform 102 from 300 to 330 degrees relative toreference vector 303.

Returning to FIG. 1, computing device(s) 107 can be configured todetermine the first and second ranges 204, 305 based, at least in part,on the first and second sets of information 110, 111 associated with thelocation(s) of imaging platform 102 and solar source 103. The one ormore positional range(s) (indicated by the image capture condition(s))can include first range 204 associated with elevation angle 201 ofimaging platform 102 and/or second range 305 associated with azimuthangle 302 of imaging platform 102.

Computing device(s) 107 can be configured to determine when imagingplatform 102 will enter the first and second ranges 204, 305. Forinstance, computing device(s) 107 can determine a time range 112 inwhich imaging platform 102 is within the one or more positional range(s)(e.g., 204, 305) of imaging platform 102 relative to solar source 103.Computing device(s) 107 can determine time range 112 based, at least inpart, on first set of information 110, second set of information 111,first range 204, and/or second range 305. Time range 112 can include afirst time (t₀) that is indicative of when the position of imagingplatform 102 will enter first range 204 associated with elevation angle201 of imaging platform 102 and second range 305 associated with azimuthangle 302 of imaging platform 102. Time range 112 can also include asecond time (t₁) that is indicative of when the position of imagingplatform 102 will exit at least one of first range 204 associated withelevation angle 201 of imaging platform 102 or second range 305associated with azimuth angle 302 of imaging platform 102. Based, atleast in part, on time range 112, computing device(s) 107 can beconfigured to determine the imaging access for target object 101 andselect precise collection times within that access, to optimize forimaging platform 102 and solar source 103 geometry. This can lead to thehighest level of reflectance with target object 101 during imagecollection.

By way of example, target object 101 (e.g., a black automobile) can belocated within region of interest 105 (e.g., an asphalt parking lot)during the hours of 8:00 a.m. PST to 11:00 a.m. PST. At 9:30 a.m. PST,elevation angle 203 of solar source 103 can be 45 degrees and azimuthangle 304 of solar source 103 can be 135 degrees. Computing device(s)107 can be configured to determine that at 9:20 a.m. PST (e.g., firsttime t₀) elevation angle 201 of imaging device 102 can be 40 degrees andazimuth angle 302 of imaging platform 102 can be 300 degrees. Computingdevice(s) 107 can be configured to determine that at 9:40 a.m. PST(e.g., second time t₁) elevation angle 201 of imaging device 102 can be50 degrees and azimuth angle 302 of imaging platform 102 can be 330degrees. Thus, time range 112 can include times from 9:20 a.m. PST(e.g., first time t₀) to 9:40 a.m. PST (e.g., second time t₁) duringwhich target object 101 may experience a specular reflection and whichimaging platform 102 can be directed to capture image frames of targetobject 101 and/or region of interest 105.

Computing device(s) 107 can be configured to send a first set of data109 indicative of one or more image capture condition(s) to imagingplatform 102, which can be configured to receive the first set of data109. Such data can be sent, for example, via one or more radio frequencytransmission signal(s). The image capture condition(s) can be indicativeof the one or more positional range(s) (e.g., 204, 305) of imagingplatform 102 relative to solar source 103. For example, the positionalrange(s) (e.g., 204, 305) of imaging platform 102 relative to solarsource 103 can include first range 204 associated with elevation angle201 of imaging platform 102 (e.g., +/−5 degrees of elevation angle 203of solar source 103) and second range 305 associated with azimuth angle302 of imaging platform 102 (e.g., within 165 degrees to 195 degrees ofazimuth angle 304 of solar source 103).

Imaging platform 102 can be configured to determine whether the imagecapture condition(s) exist such that it can begin to collect imageframes. For instance, imaging platform 102 can be configured todetermine whether a position of imaging platform 102 is within the oneor more positional range(s) (e.g., 204, 305), indicated by the imagecapture condition(s). In some implementations, imaging platform 102 caninclude a navigation system (e.g., a global positioning system) todetermine its location. Using the navigation system, imaging platform102 can determine whether its elevation angle 201 is within first range204 (e.g., +/−5 degrees relative to elevation angle 203 of solar source103) and/or whether its azimuth angle 302 is within second range 305(e.g., +/−165 to 195 degrees relative to azimuth angle 304 of solarsource 103). If so, imaging platform 102 can be located at a position atwhich target object 101 (e.g., a black automobile) can experience aspecular reflection due to the radiation from solar source 103.

In some implementations, imaging platform 102 can determine its positionbased on time. For instance, the first set of data 109 receive byimaging device 102 can be indicative of time range 112, identifying whenimaging platform 102 is within the one or more positional range(s)(e.g., 204, 305). Using a clock device, computing device(s) 106 ofimaging platform 102 can determine when imaging platform 102 is withinfirst range 204 (e.g., elevation angle range) and/or second range 305(e.g., azimuth angle range) based, at least in part, on whether a timeassociated with imaging platform 102 (e.g., a current time) is withintime range 112.

In some implementations, computing device(s) 107 can be configured todetermine whether the image capture condition(s) exist. For instance,computing device(s) 107 can be configured to determine whether imagingplatform is oriented to capture image frame(s) including, at least aportion of, region of interest 105 and/or target object 101. Computingdevice(s) 107 can determine whether a position of imaging platform 102is within the one or more positional range(s) (e.g., 204, 305).Computing device(s) 107 can determine whether a time associated withimaging platform 102 is within time range 112. Computing device(s) 107can make such determinations, based, at least in part, on the first andsecond sets of information 110, 111 and/or on one or more communications(e.g., radio frequency transmission signals) sent to and/or receivedfrom imaging platform 102.

Computing device(s) 106 of imaging platform 102 can be configured toobtain a plurality of image frames. For instance, using the systems andmethods described with reference to FIGS. 4-7, computing device(s) 106can be configured to obtain a second set of data 113 that is indicativeof a plurality of image frames based, at least in part, on the one ormore positional range(s) (e.g., 204, 305). Each image frame can depict,at least a portion of, region of interest 105. Moreover, one or more ofthe image frame(s) can depict, at least a portion of, target object 101in region of interest 105.

For instance, target object 101 can be a black automobile that islocated within region of interest 105, for example, a black asphaltparking lot. When imaging platform 102 is within the positional range(s)(e.g., 204, 305) relative to solar source 103 and/or time range 112,imaging platform 102 can be configured to obtain a second set of data113 indicative of one or more image frame(s). One or more of the imageframe(s) can include, at least a portion of, target object 101 (e.g.,the black automobile). In this way, the image frame(s) will be obtainedwhen target object 101 experiences a specular reflection due to theorientation of solar source 103 (and/or imaging platform 102). Moreover,the portion of target object 101 depicted in one or more of the imageframe(s) may be associated with a specular reflection, while the otherportions of region of interest 105 depicted in the image frame(s) maynot experience such a level of reflectance. Imaging platform 102 can beconfigured to send, to computing device(s) 107 (e.g., that are remotefrom imaging platform 102), a third set of data 114 that is indicativeof at least the one or more image frame(s) that depict, at least aportion of, target object 101.

In some implementations, computing device(s) 107 can be configured tocommand imaging platform 102 to capture one or more image frame(s). Forinstance, when computing device(s) 107 determine that imaging platform102 is within first and second ranges 204, 305 (e.g., such that theblack automobile is experiencing a specular reflectance due to solarsource 103), computing device(s) 107 can be configured to send one ormore command signal(s) to imaging platform 102 directing it to obtainsecond set of data 113 indicative of a plurality of image frames.Imaging platform 102 can be configured to receive the one or morecommand signal(s) and can obtain second set of data 113 indicative of aplurality of image frames. Each image frame can include, at least aportion of, region of interest 105. One or more of the image frame(s)can depict, at least a portion of, target object 101. The portion oftarget object 101 depicted in one or more of the image frame(s) may beassociated with the specular reflectance, while one or more otherportion(s) of region of interest 105 may not.

Computing device(s) 107 can be configured to receive the third set ofdata 114 and coordinate processing of the image frame(s). For example,computing device(s) 107 can be configured to send the third set of data114 that is indicative of the one or more image frame(s) depicting (atleast a portion of) target object 101 to another computing system forprocessing. For instance, processing techniques can include mosaicingthe image frames together to reconstruct an image of an asphalt parkinglot, including the black automobile, as further described herein.

Target object 101 can then be distinguished from its surroundings. Forexample, a threshold can be indicative of a level of brightness and/orreflectance expected to be associated with target object 101 when itexperiences a specular reflection. An image processing computing systememploying machine learning techniques and/or a user of the imageprocessing computing system can examine the images of target object 101,looking for portions with a level of brightness and/or reflectance thatis above the threshold. By way of example, an image processing computingsystem can examine an image of the black automobile in the black asphaltparking lot. The image processing computing system can look for theglint or glare produced from the black automobile as it experiences aspecular reflection (while its surroundings may not) based, at least inpart, on the orientation of imaging platform 102 in the positionalrange(s) (e.g., 204, 305). If the portion of the image has a level ofbrightness and/or reflectance that is above the threshold, the imageprocessing computing system (and/or its user) can distinguish a blackautomobile from the black asphalt parking lot in which it is located.This can help, for instance, to estimate a number of automobiles thatare currently parked in a parking lot.

FIGS. 4-7 depict example embodiments of imaging platform 102, exampleembodiments of its components, and example embodiments of imagingcapture and processing techniques. The embodiments shown and describedwith reference to FIGS. 4-7 are intended as examples and are notintended to be limiting. Imaging platform 102 can include differenttypes, numbers, orientations, combinations, etc. of components thanthose shown and described herein. Moreover, different imaging captureand processing techniques can be implemented in the systems, methods,and apparatuses of the present disclosure than those described herein.The systems, methods, and apparatuses of the present disclosure can beimplemented in any imaging system.

FIG. 4 depicts an example imaging platform 102 according to exampleembodiments of the present disclosure. Imaging platform 102 can beconfigured to use one or more 2D staring sensors to acquire entire 2Dframes taken as snapshots while imaging platform 102 travels along atrack 401 over region of interest 105. In some implementations, imagingplatform 102 can be configured such that neighboring images containoverlapping measurements of region of interest 105. For instance, thepresence of overlapping regions in the output images allows for laterimage processing to register neighboring image frames and mosaic theimages together to reconstruct an image of region of interest 105 and/ortarget object 101.

In particular, imaging platform 102 can acquire an entiretwo-dimensional image frame 403 in a single snapshot. Staring sensorscan be configured to capture images in rapid succession. For instance,an image can be captured sequentially through the capture or acquisitionof many different image frames (e.g. image frames 403, 404), each ofwhich can have some amount of overlap 405 with the image frames beforeand/or after it. One or more of the image frame(s) can include, at leasta portion of, target object 101. In some implementations, the imagingregion of a staring sensor can be thought of as a two-dimensionalsurface area. Light can be collected and bundled into individual pixels,whereby the number of pixels relative to the surface area of the imageregion determines the resolution of the staring sensor. In variousimplementations, the staring sensor can comprise a complementarymetal-oxide-semiconductor (CMOS) sensor or a charge coupled device (CCD)sensor. The staring sensor can include an array of photodiodes. In someimplementations, the staring sensor includes an active-pixel sensor(APS) comprising an integrated circuit containing an array of pixelsensors. Each pixel sensor can include a photodiode and an activeamplifier. For some overhead imaging implementations, the staring sensor(and/or other components of an overhead imaging platform) can beradiation hardened to make it more resistant to damage from ionizingradiation in space.

As indicated, imaging platform 102 can be configured such thatneighboring image frames 403, 404 contain overlapping measurements ofregion of interest 105 (e.g., the overlap 405). The presence ofoverlapping regions in the output images allows for later imageprocessing to register neighboring image frames and to combine theimages together to reconstruct a more accurate image of region ofinterest 105. In addition, by combining many separate similar imageframes together, the final reconstructed image captured by a staringsensor can correct for deviations in the motion of imaging platform 102from the expected direction of travel 401, including deviations in speedand/or direction.

In some implementations, imaging platform 102 can further include acolor wheel sensor, a color filter array (CFA), such as a Bayer filter,a panchromatic channel (e.g. panchromatic filter or panchromaticsensor), one or more spectral channels (e.g. spectral sensor or spectralfilter), etc. For instance, imaging platform 102 can include an imagingsensor having a panchromatic block adjacent to a multispectral block. Insome implementations, imaging platform 102 can include a one-dimensionalline sensor, such as a TDI sensor. A line scan sensor can be a sensorhaving a single row of pixels for each color to be collected. The sensoris positioned in imaging platform 102 so as to be perpendicular to thetrack direction thus moving in a linear manner across a scene. Each rowof pixels in an image is exposed in sequence as the sensor moves acrossthe scene, thus creating a complete 2D image. When imaging platform 102captures images with multispectral (e.g., multiple color) information,it can use an independent line scan sensor for each spectrum (e.g.,color band) to be captured, wherein each line scan sensor is fitted witha different spectral filter (e.g., color filter).

FIG. 5 depicts an example filter configuration for a two-dimensionalmultispectral staring sensor 500 that includes spectral filter strips505 a, 505 b, 505 c, and 505 d, according to example embodiments of thepresent disclosure. In particular, staring sensor 500 can include ablock 508 of a plurality of spectral filter strips 505 a-505 d. In thisexample, spectral filter strips 505 a-505 d can be shaped in a long,narrow manner spanning the axis or surface area of the staring sensor500. Spectral filter strips 505 can be disposed relative to the surfaceof staring sensor 500 such that filter strips 505 a-505 d are disposedbetween the surface of staring sensor 500 and region of interest 105 tobe captured in an image. As indicated above, region of interest 105 caninclude, for example, a portion of the surface of the earth that is tobe imaged from imaging platform 102. Region of interest 105 can includetarget object 101. Light from region of interest 105 and/or targetobject 101 can pass through filter strips 505 a-505 d before beingdetected by photosensitive elements of staring sensor 500. Filter strips505 a-505 d can be formed over or on staring sensor 500 or can beattached or bonded to staring sensor 500. For example, filter strips 505a-505 d can be bonded to a ceramic carrier or substrate for staringsensor 500.

The structure of staring sensor 500 can be described with reference totwo perpendicular axes 506, 507, with the axis 507 in the expecteddirection of travel 401 of imaging platform 102. For instance, filterstrips 505 a-505 d can be oriented perpendicular to axis 507 in thedirection of travel 401. Each filter strip 505 a-505 d can have alongitudinal axis that is oriented perpendicular to the axis 507 in thedirection of travel 401 of imaging platform 102. Each filter strip 505a-505 d can have a height in the direction 507. In some implementations,the width of filter strips 505 a-505 d along the direction 506(perpendicular to the direction of motion 401) can be substantially thesame as the length of staring sensor 500 in that direction, such thatfilter strips 505 a-505 d substantially cover the surface of staringsensor 500.

In one example implementation, staring sensor 500 can include at leastfour spectral filter strips (e.g., red, green blue, infrared). Variousother suitable numbers of filter strips can be used. Filter strips 505a-505 d can be shaped roughly as rectangles (e.g., as shown in FIG. 5)or as parallelograms, squares, polygons, or any other suitable shape. Invarious implementations, filter strips 505 a-505 d cover substantiallythe entire surface of staring sensor 500.

Each filter strip 505 a-505 d can be configured to transmit light withina range of wavelengths. For example, a blue spectral filter strip can beconfigured to transmit wavelengths of light centered around the colorblue (e.g., 450-475 nm). Wavelengths of light outside the rangetransmitted by a filter are blocked, so that light outside thetransmitted range is not collected by the pixels of staring sensor 500that are “below” the filter strip. The range of wavelengths transmittedby each filter strip 505 a-505 d can vary. The range of wavelengthstransmitted by a particular filter strip 505 a-505 d may or may notoverlap, at least partially, with the range of wavelengths transmittedby other filter strips, depending upon the implementation. In additionto red (R), green (G), blue (B), and infrared (IR) filters asillustrated, there are many other possible wavelength ranges that can betransmitted by a spectral filter, for example cyan, yellow, magenta, ororange. Infrared filters can include near, mid, or far infrared filters.In some implementations, ultraviolet filters can be used. In someimplementations, the wavelength ranges (or bandwidths) for filter strips505 a-505 d are selected to cover at least a portion of a desiredspectral range, e.g., a visible spectral range, an infrared spectralrange, an ultraviolet spectral range, or a combination of such spectralranges. Additionally, the ordering of spectral filters (as well asplacement in relation to a panchromatic sensor, if used) along thedirection of relative motion 401 can be arbitrary, and as a consequenceany order of filter strips 505 a-505 d can be used.

In some implementations, the height 508 of filter strips 505 a-505 dalong their short edges h_(filter) is between one and four times aminimum filter height. In one implementation, the minimum filter heightcan correspond to the velocity of a point on the ground as seen bystaring sensor 500 as it moves in the direction of travel 401, dividedby a frame rate at which staring sensor 500 (and/or the imagingelectronics such as associated with computing device(s) 106) capturesimage frames. In some implementations, computing device(s) 106 can beintegrated with sensor 500, which can simplify packaging and use with animaging system. Computing device(s) 106 can be used or integrated withany of the embodiments of sensor 500 described herein to electronicallycontrol image or video capture by sensor 500.

Although FIG. 5 illustrates staring sensor 500 having filter strips 505a-505 d that each have the same height 508, this is for purposes ofillustration and is not intended to be limiting. In otherimplementations, the heights of some or all of the filter strips can bedifferent from each other.

In addition to a two dimensional staring sensor, staring sensor 500optionally can also include a panchromatic block for capturingpanchromatic image data in addition to the multispectral image datacaptured via filter strips 505 a-505 d of staring sensor 500. Thepanchromatic block can be sensitive to a wide bandwidth of light ascompared to the bandwidth of light transmitted by one or more of filterstrips 505 a-505 d. For example, the panchromatic block can have abandwidth that substantially covers, at least, a substantial portion ofthe combined bandwidths of filter strips 505 a-505 d. In variousimplementations, the bandwidth of the panchromatic block can be greaterthan about two, greater than about three, greater than about four, orgreater than about five times the bandwidth of a filter strip 505 a-505d.

FIG. 6 depicts an example sensor including a two dimensional staringsensor 600 with spectral filter strips 605 a-605 d and a panchromaticblock 605 efgh, according to example embodiments of the presentdisclosure. As shown, panchromatic block 605 efgh is the same width(e.g., perpendicular to direction of relative motion 401) as eachindividual spectral filter strip (e.g., infrared 605 a, blue 605 b,green 605 c, red 605 d), but is four times the height 600 (e.g.,parallel to the direction of motion 401) of any of the individualspectral filter strips 605 a-605 d. The height of panchromatic block 605efgh relative to the height of filter strips 605 a-605 d can vary invarious implementations. For instance, the width and height ofpanchromatic block 605 efgh can be determined based on the direction ofrelative motion 401 of imaging platform 102, where height is parallel tothe direction of relative motion 401, and width is perpendicular to thedirection of relative motion 401.

FIG. 6 depicts gaps 610 between filter strips 605 a-605 d andpanchromatic strips 605 efgh. It will be appreciated that such gaps canbe any suitable size. It will further be appreciated that, in someimplementations, such gaps may not be included at all. The total height607 of this implementation of sensor 600 can correspond to the sum ofthe heights of the panchromatic block 605 efgh, filter strips 605 a-605d, and gaps 610 (if included).

Although panchromatic block 605 efgh includes a single panchromaticfilter, it will be appreciated that, in some implementations,panchromatic block 605 efgh can include a plurality of panchromaticstrips having various suitable proportions. In some implementations, allportions of the spectral sensor(s) and panchromatic sensor(s) imagingareas can have the same pixel size, pixel shape, pixel grid or arrayplacement, and/or pixel density. However, in some cases individualportions of the sensors can have differing pixel sizes, shapes, grid orarray placements, and/or densities.

As indicated above, in some implementations, an imaging sensor caninclude a single (e.g., monolithic) two-dimensional staring sensor,where different portions of the sensor capture different data based onthe spectral filters and/or panchromatic filters. In otherimplementations, multiple staring sensors can be used. For example, thepanchromatic strip(s) can be disposed over a first photosensor, and thespectral filter strip(s) can be disposed over a second photosensor. Inother implementations, a different photosensor can be used for eachspectral or panchromatic strip. The different photosensors can, in somecases, have different pixel arrangements. In other implementations, thestaring sensor can be replaced by other types of spectral sensors suchas line scanners (including TDI), color wheels, and CFA sensors.

FIG. 7 depicts an example imaging sequence 700 according to exampleembodiments of the present disclosure. As described herein, imagingplatform 102 can move along the track direction, and thus can moverelative to region of interest 105 (and/or target object 101) to beobserved. Imaging platform 102 can be configured to capture image framessuccessively at a specified frame rate (frames per second or fps) and/orintegration time. As imaging platform 102 moves and captures imageframes, one or more point in the region of interest 105 and/or on thetarget object 101 can be captured at least once by each spectral filter(and/or panchromatic filter).

As depicted in FIG. 7, images 701 a-701 h represent a sequence of eightsuccessive image frames captured by a sensor scanning over region ofinterest 105. For instance, image sequence 700 can be captured using asensor corresponding to staring sensor 500. In this example, apanchromatic channel is not used. As shown, the sensor captures eightimage frames, corresponding to capture times (CT) 1-8. The individualsensor captures are denoted by a capital letter for the filter strip(from A to D) followed by a number for the capture time. For example,sensor capture D3 in image CT3 represents the capture by the spectralstrip D, 505 d, in the third capture time. One or more of the imageframe(s) can include at least a portion of target object 101.

In some implementations, after collection, all of the images can beco-registered. Once co-registration is completed, a separatereconstructed spectral image can be created for each color (spectral)band. The reconstructed color band images can be combined to create amultispectral image. In cases where the staring sensor includes apanchromatic sensor in addition to the multispectral sensor, capturedpanchromatic image data can be used to enhance the quality of amultispectral image.

FIG. 8 depicts a flow diagram of an example method 800 of enhancingobject feature visibility for overhead imaging according to exampleembodiments of the present disclosure. Method 800 can be implemented byone or more computing device(s), such as computing device(s) 106, 107.In addition, FIG. 8 depicts steps performed in a particular order forpurposes of illustration and discussion. The steps of any of the methodsdiscussed herein can be adapted, rearranged, expanded, omitted, ormodified in various ways without deviating from the scope of the presentdisclosure.

At (802), method 800 can include obtaining information indicative of thelocation of imaging platform 102. For instance, computing device(s) 107can be configured to obtain a first set of information 110 associatedwith one or more location(s) of imaging platform 102. At (804), method800 can include obtaining information indicative of the location ofsolar source 103. For instance, computing device(s) 107 can beconfigured to obtain a second set of information 111 associated with oneor more location(s) of solar source 103. As described herein, the firstand second sets of information 110, 111 can include data associated withglobal position systems, speed, orbit, etc. Computing device(s) 107 canbe configured to obtain the first and/or second sets of information 110,111 from one or more remote database(s) 108.

At (806), method 800 can include determining one or more image capturecondition(s). The image capture condition(s) can include, for instance,location information associated with region of interest 105 and/ortarget object 101. Additionally, and/or alternatively, computingdevice(s) 106 can determine one or more positional range(s) of imagingplatform 102 relative to solar source 103 based, at least in part, onthe first and second sets of information 110, 111. The positionalrange(s) can be indicative of one or more position(s) at which imagingplatform 102 is to obtain data indicative of one or more image frame(s)depicting, at least a portion of, target object 101. Moreover, the oneor more positional range(s) (e.g., 204, 305) can be associated with oneor more positions of the solar source 103 at which radiation from solarsource 103 causes a higher level of reflectance with target object 101,than with a surrounding of target object 101 by creating a specularreflection.

For example, the positional range(s) can include first range 204associated with elevation angle 201 of imaging platform 102 and/orsecond range 305 associated with azimuth angle 302 of imaging platform102. In some implementations, first range 204 can include one or moreelevation angle(s) 201 of imaging platform 102 that are substantiallysimilar to elevation angle 203 of solar source 103. First range 204 caninclude one or more elevation angle(s) 201 of imaging platform 102 thatare within +/−5 degrees of elevation angle 203 of solar source 103 andsecond range 305 can include one or more azimuth angle(s) 302 of imagingplatform 102 that are within 165 degrees to 195 degrees of azimuth angle304 of solar source 103, as described herein with reference to FIGS. 2and 3. First and second range(s) 204, 305 can be associated with one ormore position(s) of imaging platform 102 and/or solar source 103 atwhich radiation (e.g., light) from solar source 103 causes a higherlevel of reflectance with target object 101 than its surroundings(and/or one or more portions of region of interest 105) by creating aspecular reflection. In some implementations, the computing device(s)107 can determine time range 112 in which imaging platform 102 is withinthe one or more positional range(s) (e.g., 204, 305) of imaging platform102 relative to solar source 103, as described above.

At (808), method 800 can include sending data indicative of the imagecapture condition(s). Computing device(s) 107 can send, to imagingplatform 102, a first set of data 109 that is indicative of, forexample, the one or more positional range(s) (e.g., 204, 305) such thatimaging platform 102 can obtain a second set of data 113 indicative of aplurality of image frames when imaging platform 102 is within thepositional range(s) (e.g., 204, 305). The first set of data 109 canalso, and/or alternatively, be indicative of the location informationassociated with region of interest 105 and/or target object 101 and/ortime range 112.

At (810), method 800 can include receiving the data indicative of theimage capture condition(s). For instance, computing device(s) 106 ofimaging platform 102 can receive the first set of data 109 indicative ofthe positional range(s) (e.g., 204, 305), the location informationassociated with region of interest 105 and/or target object 101, and/ortime range 112. By way of example, in the event that imaging platform102 is included on a satellite orbiting the earth, computing device(s)106 can receive the first set of data from one or more ground station(s)(e.g., associated with computing device(s) 107) distributed globally.

At (812), method 800 can include determining whether a position ofimaging platform 102 is within the one or more positional range(s)(e.g., 204, 305). For instance, computing device(s) 106 of imagingplatform 102 can determine whether a position of imaging platform 102 iswithin first range 204 associated with elevation angle 201 of imagingplatform 102 and second range 305 associated with azimuth angle 302 ofimaging platform 102. Additionally, and/or alternatively, imagingplatform 102 can determine it is within the positional range(s) (e.g.,204, 305) by using a clock device, as described above.

By way of example, elevation angle 203 of solar source 103 can be 45degrees relative to horizontal plane 202, and first range 204 caninclude the elevation angles 201 from 40 to 50 degrees relative tohorizontal plane 202. Azimuth angle 304 of solar source 103 can be 135degrees relative to reference vector 303, and second range 305 caninclude the azimuth angles 302 from 300 to 330 degrees relative toreference vector 303. If elevation angle 201 is 47 degrees relative tohorizontal plane 202, and azimuth angle 302 is 315 degrees relative toreference vector 303, then imaging platform 102 can determine that it iswithin the one or more positional range(s) (e.g., 204, 305).

Additionally, and/or alternatively, method 800 can include determining,by computing system 104, whether a position of imaging platform 102 iswithin the one or more positional range(s) (e.g., 204, 305). Forinstance, computing device(s) 107 can determine whether a position ofimaging platform 102 is within the one or more positional ranges (204,305). For example, computing device(s) 107 can determine whether imagingplatform is oriented to capture image frame(s) of region of interest 105and/or target object 101 based, at least in part, on the locationinformation associated with region of interest 105 and/or target object101. Computing device(s) 107 can determine whether a position of imagingplatform 102 is within the one or more positional range(s) (e.g., 204,305). Computing device(s) 107 can determine whether a time associatedwith imaging platform 102 is within time range 112.

At (814), method 800 can include obtaining data indicative of aplurality of image frames. For instance, computing device(s) 106 ofimaging platform 102 can obtain a second set of data 113 that isindicative of a plurality of image frames, as described above. One ormore of the image frames can be captured based, at least in part, on theone or more positional range(s) (e.g., 204, 305). For example, imagingplatform 102 can use the location information associated with region ofinterest 105 (e.g., a black asphalt parking lot) and/or target object101 (e.g., a black automobile) to orient its sensors in a manner suchthat it can capture image frames including, at least a portion of,region of interest 105 and/or target object 101. When imaging platform102 determines that it is within the first and second ranges 204, 305(e.g., such that the black automobile is experiencing a specularreflection due to solar source 103), imaging platform 102 can obtainsecond set of data 113 indicative of a plurality of image frames. Eachimage frame can include, at least a portion of, region of interest 105(e.g., the black asphalt parking lot). One or more of the image framescan depict, at least a portion of, target object 101 (e.g., a blackautomobile). The portion of the target object 101 depicted in one ormore of the image frame(s) may be associated with the specularreflection, while other portions of the region of interest may not.

Additionally, and/or alternatively, method 800 can include sending, toimaging platform 102, one or more command signal(s) to obtain second setof data 113 indicative of the one or more image frame(s). For instance,computing device(s) 107 can send, to imaging platform 102, one or morecommand signal(s) to obtain second set of data 113 indicative of the oneor more image frame(s) when imaging platform 102 is within the one ormore positional ranges (e.g., 204, 305). For example, computingdevice(s) 107 can determine that imaging platform 102 is within thefirst and second ranges 204, 305 (e.g., such that the black automobileis experiencing a specular reflection due to solar source 103) andcomputing device(s) 107 can send one or more command signal(s) toimaging platform 102 to obtain second set of data 113 indicative of oneor more image frame(s).

Imaging platform 102 can receive the one or more command signal(s) andcan obtain second set of data 113 indicative of one or more imageframe(s). One or more of the image frame(s) can depict, at least aportion of, target object 101. The portion of target object 101 depictedin one or more of the image frame(s) may be associated with a specularreflection (while its surroundings and/or one or more other portion(s)of region of interest 105 may not).

At (816), method 800 can include sending data indicative of one of moreimage frames. For instance, computing device(s) 106 of imaging platform102 can send a third set of data 114 that is indicative of one or moreimage frame(s) that depict, at least a portion of, target object 101. Insome implementations, computing device(s) 106 of imaging platform 102can send third set of data 114 to computing device(s) 107 via one ormore radio frequency transmission signals.

At (818), method 800 can include receiving data indicative of one ormore image frame(s). For instance, computing device(s) 107 of computingsystem 104 can receive third set of data 114 indicative of one or moreimage frame(s) that depict, at least a portion of, target object 101. Asdescribed above, the one or more image frame(s) can be captured based,at least in part, on the one or more positional range(s) (e.g., 204,305).

At (820), method 800 can include coordinating the processing of one ormore image frame(s). For instance, computing device(s) 107 cancoordinate the processing of one or more image frame(s) that depict, atleast a portion of, region of interest 105 and/or target object 101. Asdescribed herein, the one or more image frames can be reconstructed tocreate an image that includes, at least a portion of, target object 101.The image can be processed to identify target object 101 based, at leastin part, on the specular reflection (e.g., glint) associated with targetobject 101.

In one example, target object 101 can be a black automobile included inregion of interest 105, for example, a black asphalt parking lot. Theprocessing techniques can include examining an image of the blackautomobile in the black asphalt parking lot to find a glint or glareproduced from the black automobile as it experiences a specularreflection. If the portion of the image has a level of brightness and/orreflectance that is above a threshold (as described herein), the blackautomobile can be distinguished from the black asphalt parking lot inwhich it is located.

FIG. 9 depicts an example computing system 900 that can be used toimplement the methods and systems according to example aspects of thepresent disclosure. The system 900 can include computing system 104 andimaging platform 102, which can communicate with one another usingsignals 910 (e.g., radio frequency transmissions). The signals 910 caninclude, for instance, one or more command signals and/or one or moresets of data, as described herein. The system 900 can be implementedusing a client-server architecture and/or other suitable architectures.

Computing system 104 can be associated with a control system forproviding control commands to imaging platform 102. Computing system 104can include one or more computing device(s) 107. Computing device(s) 107can include one or more processor(s) 912 and one or more memorydevice(s) 914. Computing device(s) 107 can also include a communicationinterface 916 used to communicate with imaging platform 102.Communication interface 916 can include any suitable components forcommunicating with imaging platform 102, including for example,transmitters, receivers, ports, controllers, antennas, or other suitablecomponents.

Processor(s) 912 can include any suitable processing device, such as amicroprocessor, microcontroller, integrated circuit, logic device, orother suitable processing device. Memory device(s) 914 can include oneor more computer-readable media, including, but not limited to,non-transitory computer-readable media, RAM, ROM, hard drives, flashdrives, or other memory devices. Memory device(s) 914 can storeinformation accessible by processor(s) 912, including computer-readableinstructions 918 that can be executed by processor(s) 912. Instructions918 can be any set of instructions that when executed by processor(s)912, cause one or more processor(s) 912 to perform operations. Forinstance, execution of instructions 918 can cause processor(s) 912 toperform any of the operations and/or functions for which computingdevice(s) 107 are configured. In some implementations, execution ofinstructions 918 can cause processor(s) 912 to perform, at least aportion of, method 800 of enhancing object feature visibility foroverhead imaging according to example embodiments of the presentdisclosure.

As shown in FIG. 9, memory device(s) 914 can also store data 920 thatcan be retrieved, manipulated, created, or stored by processor(s) 912.Data 920 can include, for instance, information associated with one ormore location(s) of imaging platform 102 and/or solar source 103, dataindicative of image capture condition(s), data indicative of one or morepositional range(s) (e.g., 204, 305), data indicative of time range 112,the location information associated with region of interest 105 and/ortarget object 101, data indicative of one or more image frame(s), and/orany other data and/or information described herein. Data 920 can bestored in one or more database(s). The one or more database(s) can beconnected to computing device(s) 107 by a high bandwidth LAN or WAN, orcan also be connected to computing device(s) 107 through various othersuitable networks. The one or more databases can be split up so thatthey are located in multiple locales.

Computing system 104 can exchange data with imaging platform 102 usingsignals 910. Although one imaging platform 102 is illustrated in FIG. 9,any number of imaging platforms can be configured to communicate withthe computing system 104. In some implementations, imaging platform 102can be associated with any suitable type of satellite system, includingsatellites, mini-satellites, micro-satellites, nano-satellites, etc. Insome implementations, imaging platform 102 can be associated with anaircraft or other imaging platform such as a helicopter, an unmannedaerial vehicle, a drone, a balloon, or other suitable device.

Imaging platform 102 can include computing device(s) 106, which caninclude one or more processor(s) 932 and one or more memory device(s)934. Processor(s) 932 can include one or more central processing units(CPUs). Memory device(s) 934 can include one or more computer-readablemedia and can store information accessible by processor(s) 932,including instructions 936 that can be executed by processor(s) 932. Forinstance, memory device(s) 934 can store instructions 936 forimplementing an image collector and a data transmitter configured tocapture a plurality of image frames and to transmit the plurality ofimage frames to a remote computing device (e.g., computing system 104).In some implementations, execution of instructions 936 can causeprocessor(s) 932 to perform any of the operations and/or functions forwhich imaging platform 102 is configured. In some implementations,execution of instructions 936 can cause processor(s) 932 to perform, atleast a portion of, method 800 of enhancing object feature visibilityfor overhead imaging.

Memory device(s) 934 can also store data 938 that can be retrieved,manipulated, created, or stored by processor(s) 932. Data 938 caninclude, for instance, information associated with one or morelocation(s) of imaging platform 102 and/or solar source 103, dataindicative of image capture condition(s), data indicative of one or morepositional range(s) (e.g., 204, 305), data indicative of time range 112,location information associated with region of interest 105 and/ortarget object 101, data indicative of one or more image frame(s), and/orany other data and/or information described herein. Data 938 can bestored in one or more database(s). The one or more database(s) can beconnected to computing device(s) 106 by a high bandwidth LAN or WAN, orcan also be connected to computing device(s) 106 through various othersuitable networks. The one or more database(s) can be split up so thatthey are located in multiple locales.

Imaging platform 102 can also include a communication interface 940 usedto communicate with one or more remote computing device(s) (e.g.,computing system 104, remote databases 108) using signals 910.Communication interface 940 can include any suitable components forinterfacing with one or more remote computing device(s), including forexample, transmitters, receivers, ports, controllers, antennas, or othersuitable components.

In some implementations, one or more aspect(s) of communication amongimaging platform 102, computing system 104, and/or remote databases(s)108 can involve communication through a network. In suchimplementations, the network can be any type of communications network,such as a local area network (e.g. intranet), wide area network (e.g.Internet), cellular network, or some combination thereof. The networkcan also include a direct connection, for instance, between one or moreof imaging platform 102, computing system 104, and/or remote databases108. In general, communication through the network can be carried via anetwork interface using any type of wired and/or wireless connection,using a variety of communication protocols (e.g. TCP/IP, HTTP, SMTP,FTP), encodings or formats (e.g. HTML, XML), and/or protection schemes(e.g. VPN, secure HTTP, SSL).

The technology discussed herein makes reference to servers, databases,software applications, and other computer-based systems, as well asactions taken and information sent to and from such systems. One ofordinary skill in the art will recognize that the inherent flexibilityof computer-based systems allows for a great variety of possibleconfigurations, combinations, and divisions of tasks and functionalitybetween and among components. For instance, server processes discussedherein can be implemented using a single server or multiple serversworking in combination. Databases and applications can be implemented ona single system or distributed across multiple systems. Distributedcomponents can operate sequentially or in parallel.

Furthermore, computing tasks discussed herein as being performed at aserver can instead be performed at a user device. Likewise, computingtasks discussed herein as being performed at the user device can insteadbe performed at the server.

While the present subject matter has been described in detail withrespect to specific example embodiments and methods thereof, it will beappreciated that those skilled in the art, upon attaining anunderstanding of the foregoing can readily produce alterations to,variations of, and equivalents to such embodiments. Accordingly, thescope of the present disclosure is by way of example rather than by wayof limitation, and the subject disclosure does not preclude inclusion ofsuch modifications, variations and/or additions to the present subjectmatter as would be readily apparent to one of ordinary skill in the art.

What is claimed is:
 1. A computing system for enhancing object featurevisibility for overhead imaging, comprising: one or more processors; andone or more memory devices, the one or more memory devices storingcomputer-readable instructions that when executed by the one or moreprocessors cause the one or more processors to perform operations, theoperations comprising: obtaining a first set of information associatedwith one or more locations of an imaging platform; obtaining a secondset of information associated with one or more locations of a solarsource; determining one or more positional ranges of the imagingplatform relative to the solar source based at least in part on thefirst and second sets of information, wherein the one or more positionalranges are indicative of one or more positions at which the imagingplatform is to obtain one or more image frames depicting at least aportion of a target object, the one or more positional ranges areassociated with one or more positions of the solar source at whichradiation from the solar source causes a higher level of reflectancewith the target object than with a surrounding of the target object bycreating a specular reflection; sending, to the imaging platform, afirst set of data indicative of the one or more positional ranges,wherein the imaging platform is configured to obtain a second set ofdata indicative of the one or more image frames depicting at least aportion of the target object based at least in part on the one or morepositional ranges; and receiving, from the imaging platform, a third setof data indicative of one or more of the image frames depicting at leasta portion of the target object, wherein the one or more image frameswere captured based at least in part on the one or more positionalranges.
 2. The computing system of claim 1, wherein the one or morepositional ranges comprise a first range associated with an elevationangle of the imaging platform and a second range associated with anazimuth angle of the imaging platform.
 3. The computing system of claim2, wherein the first range comprises one or more elevation angles of theimaging platform that are within +/−5 degrees of the elevation angle ofthe solar source.
 4. The computing system of claim 2, wherein the secondrange comprises one or more azimuth angles of the imaging platform thatare within 165 degrees to 195 degrees of the azimuth angle of the solarsource.
 5. The computing system of claim 1, wherein the imaging platformis further configured to determine whether a position of the imagingplatform is within the one or more positional ranges.
 6. Thecomputer-implemented method of claim 1, wherein the operations furthercomprise: determining whether a position of the imaging platform iswithin the one or more positional ranges; and sending, to the imagingplatform, one or more command signals to obtain the second set of dataindicative of the one or more image frames when the imaging platform iswithin the one or more positional ranges.
 7. The computer-implementedmethod of claim 1, wherein the imaging platform is included on asatellite.
 8. A computer-implemented method of enhancing object featurevisibility for overhead imaging, the method comprising: obtaining, byone or more computing devices, a first set of information associatedwith one or more locations of an imaging platform and a second set ofinformation associated with one or more locations of a solar source;determining, by the one or more computing devices, one or morepositional ranges of the imaging platform relative to the solar sourcebased, at least in part, on the first and second sets of information,wherein the one or more positional ranges are indicative of one or morepositions at which the imaging platform is to obtain data indicative ofone or more image frames depicting at least a portion of a targetobject; sending, to the imaging platform, a first set of data that isindicative of the one or more positional ranges such that the imagingplatform can obtain a second set of data indicative of a plurality ofimage frames when the imaging platform is within the one or morepositional ranges; and receiving, from the imaging platform, a third setof data indicative of one or more of the image frames depicting at leasta portion of the target object, wherein the one or more image frameswere captured based at least in part on the one or more positionalranges.
 9. The computer-implemented method of claim 8, wherein the oneor more positional ranges are associated with one or more positions ofthe solar source at which radiation from the solar source causes ahigher level of reflectance with the target object than with asurrounding of the target object by creating a specular reflection, andwherein the portion of the target object depicted in one or more of theimage frames is associated with the higher level of reflectance thanother portions of the image frames.
 10. The computer-implemented methodof claim 8, wherein the one or more positional ranges comprise a firstrange associated with an elevation angle of the imaging platform and asecond range associated with an azimuth angle of the imaging platform.11. The computer-implemented method of claim 10, wherein the first rangecomprises one or more elevation angles of the imaging platform that aresubstantially similar to an elevation angle of the solar source.
 12. Thecomputer-implemented method of claim 10, wherein the first rangecomprises one or more elevation angles of the imaging platform that arewithin +/−5 degrees of the elevation angle of the solar source.
 13. Thecomputer-implemented method of claim 10, wherein the second rangecomprises one or more azimuth angles of the imaging platform that arewithin 165 degrees to 195 degrees of the azimuth angle of the solarsource.
 14. An imaging platform, comprising: one or more processors; andone or more memory devices, the one or more memory devices storingcomputer-readable instructions that when executed by the one or moreprocessors cause the one or more processors to perform operations, theoperations comprising: receiving a first set of data indicative of oneor more image capture conditions, wherein the one or more image captureconditions are indicative of one or more positional ranges of theimaging platform relative to a solar source, the one or more positionalranges are associated with one or more positions of the solar source atwhich radiation from the solar source causes a higher level ofreflectance with the target object than with at least one other portionof a region of interest that includes the target object by creating aspecular reflection; determining whether a position of the imagingplatform is within the one or more positional ranges; obtaining a secondset of data indicative of a plurality of image frames when the imagingplatform is within the one or more positional ranges, wherein each imageframe depicts at least a portion of the region of interest, and whereinone or more of the image frames depict at least a portion of the targetobject in the region of interest; and sending, to one or more computingdevices, a third set of data indicative of at least the one or moreimage frames that depict at least a portion of the target object. 15.The imaging platform of claim 14, wherein the one or more positionalranges of the imaging platform relative to the solar source comprise afirst range associated with an elevation angle of the imaging platformand a second range associated with an azimuth angle of the imagingplatform.
 16. The imaging platform of claim 15, wherein the first rangecomprises one or more elevation angles of the imaging platform that arewithin +/−5 degrees of the elevation angle of the solar source.
 17. Theimaging platform of claim 16, wherein the second range comprises one ormore azimuth angles of the imaging platform that are within 165 degreesto 195 degrees of the azimuth angle of the solar source.
 18. The imagingplatform of claim 14, wherein the first set of data is furtherindicative of a time range in which the imaging platform is within theone or more positional ranges of the imaging platform relative to asolar source, and wherein determining whether the position of theimaging platform is within the one or more positional ranges comprises:determining whether a time associated with the imaging platform iswithin the time range.
 19. The imaging platform of claim 18, wherein thetime range comprises a first time that is indicative of when theposition of the imaging platform will enter a first range associatedwith an elevation angle of the imaging platform and a second rangeassociated with an azimuth angle of the imaging platform, and a secondtime that is indicative of when the position of the imaging platformwill exit at least one of the first range associated with the elevationangle of the imaging platform or the second range associated with theazimuth angle of the imaging platform.
 20. The imaging platform of claim14, wherein the portion of the target object is associated with thespecular reflection and one or more other portions of the region ofinterest are not associated with the specular reflection.